/**
 * 防抖函数
 * @param executorFunc  要执行的业务函数
 * @param delay         延迟时间
 */
export function debounce(executorFunc,delay){
    let timer = null;
    return function(...args){
        clearTimeout(timer);
        timer = setTimeout(()=>{
            executorFunc.apply(this,args)
        },delay)
    }
}

export function formatDate(date,fmt) {
    //1.获取年份
    if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1,(date.getFullYear()+'').substr(4 - RegExp.$1.length))
    }
    //2.获取 月/日/时/分/秒
    let o = {
        'M+':date.getMonth() + 1,
        'd+':date.getDate(),
        'h+':date.getHours(),
        'm+':date.getMinutes(),
        's+':date.getSeconds()
    };
    for (let k in o) {
        if (new RegExp(`(${k})`).test(fmt)) {
            let str = o[k] + '';
            fmt = fmt.replace(RegExp.$1,(RegExp.$1.length === 1) ? str :padLeftZero(str));
        }
    }
    return fmt;
}
function padLeftZero(str) {
    return ('00'+str).substr(str.length)
}